home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs10.d81 / darkter4.arc / DT4.1650.PAL (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  3KB  |  150 lines

  1. 1000 REM * DARKTERM 4.0 (C) 1986 D.S.S.
  2. 1010 REM * 1650 MODEM MODULE SOURCE
  3. 1020 REM *
  4. 1030 OPEN2,8,1,"@0:DT4.MODEM 1650"
  5. 1040 SYS700
  6. 1050 .OPT O2
  7. 1060 ;
  8. 1070 CHKIN  =$FFC6 ; KERNAL EQUATES
  9. 1080 CHKOUT =$FFC9
  10. 1090 CHRIN  =$FFCF
  11. 1100 CHROUT =$FFD2
  12. 1110 CLRCHN =$FFCC
  13. 1120 CLOSE  =$FFC3
  14. 1130 OPEN   =$FFC0
  15. 1140 SETLFS =$FFBA
  16. 1150 SETNAM =$FFBD
  17. 1160 GETIN  =$FFE4
  18. 1170 READST =$FFB7
  19. 1180 PLOT   =$FFF0
  20. 1190 ;
  21. 1200 TEXT =18 ; WE'LL USE THIS FOR PTR
  22. 1210 ;
  23. 1220 DDELAY =878 ; SETUP EQUATES
  24. 1230 CDELAY =880
  25. 1240 HDELAY =881
  26. 1250 ;
  27. 1260 MILLI  =$090C ; ACCESS ROUTINES
  28. 1270 TIWAIT =$090F
  29. 1280 ;
  30. 1290 *=$4600 ; START HERE
  31. 1300 JMP AUTODIAL
  32. 1310 JMP AANSWER
  33. 1320 JMP ONLINE
  34. 1330 OFFLINE LDA #0 ; ON-HOOK
  35. 1340 STA 56577
  36. 1350 LDA #32
  37. 1360 STA 56579
  38. 1370 RTS
  39. 1380 ONLINE LDA #32 ; OFF-HOOK
  40. 1390 STA 56577
  41. 1400 RTS
  42. 1410 AUTODIAL STX TEXT ; SAVE ADDRESS
  43. 1420 STY TEXT+1 ; OF DIAL TEXT STRING
  44. 1430 JSR OFFLINE ; HANG UP
  45. 1440 LDA HDELAY ; WAIT HDELAY SECONDS
  46. 1450 JSR WAIT
  47. 1460 JSR ONLINE ; OFF-HOOK
  48. 1470 LDA #2 ; WAIT A 2 SEC
  49. 1480 JSR WAIT
  50. 1490 LDY #0 ; INDEX TO START
  51. 1500 STY POINT
  52. 1510 AUTO1 LDY POINT ; GET INDEX
  53. 1520 LDA (TEXT),Y ; AND CHARACTER
  54. 1530 CMP #"0" ; CHECK FOR NUMBER
  55. 1540 BCC NEXT ; NO
  56. 1550 CMP #":"
  57. 1560 BCS NEXT ; NO
  58. 1570 SEC      ; LESS 48 TO GET # OF
  59. 1580 SBC #48  ; PULSES
  60. 1590 BNE AUTO2
  61. 1600 LDA #10  ; 0, SO MUST MAKE 10 PLS
  62. 1610 AUTO2 STA PULSE ; SAVE IT
  63. 1620 LDA #0 ; PULSE COUNT
  64. 1630 STA COUNT
  65. 1640 AUTO3 JSR (null)OF ; PULSE OFF LINE
  66. 1650 LDX DDELAY ; WAIT DELAY
  67. 1660 LDY DDELAY+1
  68. 1670 JSR MILLI ; WAIT IT OUT
  69. 1680 JSR ONLINE ; PULSE ON LINE
  70. 1690 LDX DDELAY ; WAIT AGAIN
  71. 1700 LDY DDELAY+1
  72. 1710 JSR MILLI
  73. 1720 INC COUNT ; NEXT PULSE
  74. 1730 LDA COUNT
  75. 1740 CMP PULSE ; DONE YET
  76. 1750 BNE AUTO3 ; NO
  77. 1760 LDA #40 ; WAIT 2/3 SEC FOR NEXT #
  78. 1770 JSR TIWAIT
  79. 1780 JSR ABORT ; CHECK FOR STOP KEY
  80. 1790 NEXT INC POINT ; NEXT #
  81. 1800 LDA POINT
  82. 1810 CMP #18 ; DONE ALL 18 CHARS
  83. 1820 BNE AUTO1 ; NO, (null) BACK
  84. 1830 LDA CDELAY ; WAIT OUT THE DELAY
  85. 1840 JSR WAIT
  86. 1850 LDA 56577 ; HAVE A CARRIER
  87. 1860 AND #16
  88. 1870 BEQ AUTO4 ; YES, SIGNAL IT
  89. 1880 SEC ; NO, SET ZERO FLAG TRUE
  90. 1890 LDA #0 ; AND SET CARRY (NOT ABORT)
  91. 1900 RTS
  92. 1910 AUTO4 SEC ; HAVE CARRIER, SET
  93. 1920 LDA #1 ; ZERO FALSE
  94. 1930 RTS ; EXIT
  95. 1940 ABORT LDA 145 ; CHECK STOP KEY
  96. 1950 CMP #$7F
  97. 1960 BNE ABO1 ; NO, (null) BACK
  98. 1970 ABO0 PLA ; PULL RETURN ADDRESS
  99. 1980 PLA
  100. 1990 CLC ; CLEAR THE CARRY
  101. 2000 ABO1 RTS ; AND EXIT TO TERM
  102. 2010 WAIT TAX ; 1 SECOND COUNTER
  103. 2020 W0 LDA #0
  104. 2030 STA 160
  105. 2040 STA 161
  106. 2050 STA 162
  107. 2060 W1 LDA 145 ; CHECK FOR ABORT
  108. 2070 CMP #$7F ; DURING THE WAIT
  109. 2080 BEQ ABO0
  110. 2090 LDA 162
  111. 2100 CMP #60
  112. 2110 BCC W1
  113. 2120 DEX
  114. 2130 BMI W2
  115. 2140 BNE W0
  116. 2150 W2 RTS
  117. 2160 POINT .BYT 0
  118. 2170 COUNT .BYT 0
  119. 2180 PULSE .BYT 0
  120. 2190 AANSWER JSR OFFLINE ; ON-HOOK
  121. 2200 AN1 LDA 56577 ; CHECK FOR RING
  122. 2210 AND #8 ; DETECT
  123. 2220 BEQ AN2 ; WE HAVE R.D., (null) ON
  124. 2230 LDA 145 ; CHECK STOP KEY
  125. 2240 CMP #$7F
  126. 2250 BNE AN1 ; NONE, WAIT MORE
  127. 2260 AN0 JSR ONLINE ; OFF-HOOK
  128. 2270 CLC ; AND ABORT
  129. 2280 RTS
  130. 2290 AN2 LDA #0 ; SET UP FOR 30 SECOND
  131. 2300 STA 160 ; CARRIER DETECT WAIT
  132. 2310 STA 161
  133. 2320 STA 162
  134. 2330 JSR ONLINE ; OFF-HOOK
  135. 2340 AN3 LDA 145 ; CHECK STOP KEY
  136. 2350 CMP #$7F
  137. 2360 BEQ AN0
  138. 2370 LDA 56577 ; CHECK FOR DCD LINE
  139. 2380 AND #16
  140. 2390 BEQ AN4 ; (null)T CARRIER, SIGNAL
  141. 2400 LDA 160
  142. 2410 CMP #8 ; 30 SEC YET
  143. 2420 BCC AN3 ; NO, WAIT
  144. 2430 BCS AANSWER ; YES, RESET
  145. 2440 AN4 SEC ; SET CARRY FOR CARRIER
  146. 2450 RTS ; PRESENT, AND EXIT
  147. 2460 (null)OF LDA #0 ; PULSE ON-HOOK
  148. 2470 STA 56577
  149. 2480 RTS
  150.